#include "queue_manager.h"

UNMAP_STL_TYPE<MAP_KEY_TYPE,  RAW_DATA_QUE_PTR> queue_manager::raw_que_map;
UNMAP_STL_TYPE<MAP_KEY_TYPE,  K_DATA_QUE_PTR> queue_manager::kbar_que_map;

queue_manager::queue_manager(/* args */)
{
}

queue_manager::~queue_manager()
{
}

RAW_DATA_QUE_PTR queue_manager::regist_raw_data_que(MAP_KEY_TYPE  que_id)
{
    auto it = queue_manager::raw_que_map.find(que_id);
    if(it == queue_manager::raw_que_map.end())
    {
            queue_manager::raw_que_map[que_id] = std::make_shared<RAW_DATA_QUE>();
            return queue_manager::raw_que_map[que_id];
    }
    else
    {
        return it->second;
    }
}

K_DATA_QUE_PTR queue_manager::regist_kbar_data_que(MAP_KEY_TYPE  que_id)
{
    auto it = queue_manager::kbar_que_map.find(que_id);
    if(it == queue_manager::kbar_que_map.end())
    {
            queue_manager::kbar_que_map[que_id] = std::make_shared<K_DATA_QUE>();
            return queue_manager::kbar_que_map[que_id];
    }
    else
    {
        return it->second;
    }
}
